#导入库
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import csv

# 读取数据集，使用read_csv()方法进行读取
df = pd.read_csv('source.tsv', sep='\t')

#数据合并将可用值合并
pd.concat([df,df],axis=1,keys=["df","df"],names=["combine","userId"])

# 去除无用数据，乱码数据、空数据等
df = df.dropna()  # 去除空数据

# 或者，使用整数1作为参数，效果与csv.QUOTE_ALL相同（遇到一个问题在合并数据之后tsv中的数据元素""都被去除了，此处是给所有元素加上""）
# df = pd.read_csv('cleaned_data.tsv', sep='\t', quoting=1)

# 保存处理后的数据
df.to_csv('cleaned_data.tsv', index=False)
# 进一步处理其他无用数据或乱码数据的情况

# df1=pd.read_csv('cleaned_data.tsv', sep='\t')
# df1 = df.applymap(lambda x: f'"{x}"')
# df1.to_csv('combine_data',index=False)

#使用csv.QUOTE_ALL来为所有字段加上双引号
# df1 = pd.read_csv('cleaned_data.tsv', sep='\t', quoting=csv.QUOTE_ALL)
# df1 = pd.read_csv('cleaned_data.tsv', sep='\t', quoting=1)
# df1.to_csv('handle_data.tsv', index=False)

# 显示数据集的前几行，确保数据读取正确
print(df.head())